<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 贪婪匹配和惰性匹配   => 一般用于字符串匹配(把符合规则的内容提取出来 => exec)


    // 贪婪匹配(正则表达式的默认匹配机制),在条件允许的情况下,匹配尽可能多的
    
    // 在正则表达式中,重复性的量词(限定符)都具有贪婪性 
    // * + {2,}  表现为贪婪的无限性(最多没有限制)
    // {n}  {m,n}  ?  表现为贪婪的有限性(最大值有限制)

    // var str = "abcacddbaa-sdasdjhsd"
    // var reg = /\w+/; // 字母,数字,下划线至少一个
    // console.log(reg.exec(str));

    // var str = "abcacddbaasdasdjhsd"
    // var reg = /\w*/; // 字母,数字,下划线至少0个
    // var reg = /\w{2,}/; // 字母,数字,下划线至少2个
    // console.log(reg.exec(str));

    // var str = "abcacddbaasdasdjhsd"
    // var reg = /\w{5}/; // 字母,数字,下划线 5个
    // var reg = /\w{2,5}/; // 字母,数字,下划线 2-5个
    // var reg = /\w?/; // 字母,数字,下划线 0-1个
    // console.log(reg.exec(str));



    // 惰性匹配,在条件允许的情况下,匹配尽可能少的 
    // 如何改为惰性匹配?  => 在重复性的量词之后加 ? 

    var str = "abcacddbaasdasdjhsd"
    var reg = /\w+?/; // 字母,数字,下划线 1个或多个
    var reg = /\w*?/; // 字母,数字,下划线 0个或多个
    var reg = /\w{2,}?/; // 字母,数字,下划线 2个或多个
    // console.log(reg.exec(str));


    var str = "abcacddbaasdasdjhsd"
    var reg = /\w{5}?/; // 字母,数字,下划线 5个
    var reg = /\w{2,5}?/; // 字母,数字,下划线 2-5个
    var reg = /\w??/; // 字母,数字,下划线 0-1个
    // console.log(reg.exec(str));

    // 5000
    // 50位同学   最少1块  最多n块     => 最后还剩多少钱?
    // 5000 - 50 => 4950
    // 5000 - (1+2+...50)  => 5000-2550 => 2450


    var str = `<a href="https://www.baidu.com" target="_blank"></a>`

    // var reg = /"[^"]+"/;
    var reg = /"([^"]+)"/;

    console.log(reg.exec(str));
    









</script>
</html>